package com.pengxun.manager.service.system;

import com.pengxun.manager.model.system.Userinfo;
import com.pengxun.manager.vo.ChangePasswordVO;
import com.pengxun.manager.vo.ResetPasswordEmailVO;
import com.pengxun.manager.vo.UserinfoSearchVO;
import com.pengxun.manager.vo.UserinfoVO;
import com.pengxun.manager.vo.UserinfoValidateVO;
import com.szeastroc.common.jdbc.page.Page;


public interface  UserinfoService {
	public int createUser(Userinfo userinfo);
	
   public int insert(Userinfo userinfo);
   
   public int update(Userinfo userinfo);
   
   public int delete(Long userId);
   
   public Page findByPage(UserinfoSearchVO serinfoSearchVO);
   
   public UserinfoVO findByUserId(Integer userId);
   
    /**
	 * 通过邮箱或手机号码获取认证信息
	 * @return
	 */
	public void sendValidateCode(String key);
	
	public void updateValidateInfo(UserinfoValidateVO userinfoValidateVO);


    public int updatePassword(ChangePasswordVO changePasswordVO);


    void sendValidateEmail(String email);

    void doValidateEmail(String key);

    /**
     * 通过邮箱获取重置密码连接
     * @param email
     */
    void sendResetPasswordEmail(String email);

    void doResetPassword(ResetPasswordEmailVO resetPasswordEmailVO);
    
    public void sendSetPasswordEmail(String email);

}
